package com.youlai.boot.modules.warehouse.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.modules.warehouse.model.Warehouse;
import com.youlai.boot.modules.warehouse.model.WarehouseVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WarehouseMapper extends BaseMapper<Warehouse> {
    Page<WarehouseVO> getWarehousePage(Page<WarehouseVO> page, @Param("name") String name);

    List<WarehouseVO> getProductWarehouses(@Param("productId") Long productId);

    Page<WarehouseVO> getProductWarehousePage(@Param("page") Page<WarehouseVO> page, @Param("productId") Long productId);

    boolean saveProductWarehouse(@Param("productId") Long productId, @Param("warehouseId") Long warehouseId);

    boolean deleteProductWarehouse(@Param("productId") Long productId, @Param("warehouseId") Long warehouseId);

    /**
     * 检查商品和仓库关联关系是否存在
     * 
     * @param productId 商品ID
     * @param warehouseId 仓库ID
     * @return 是否存在关联关系
     */
    boolean checkProductWarehouseExists(@Param("productId") Long productId, @Param("warehouseId") Long warehouseId);
}
